package controller;

public class BanqueProxy implements Banque {

	private String _endpoint = null;
	private controller.Banque banque = null;
  
	public BanqueProxy() {
		_initBanqueProxy();
	}
  
	public BanqueProxy(String endpoint) {
		_endpoint = endpoint;
		_initBanqueProxy();
	}
  
	private void _initBanqueProxy() {
		try {
			banque = (new controller.BanqueServiceLocator()).getBanque();
			if (banque != null) {
				if (_endpoint != null)
					((javax.xml.rpc.Stub)banque)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
				else
					_endpoint = (String)((javax.xml.rpc.Stub)banque)._getProperty("javax.xml.rpc.service.endpoint.address");
			}
	    }
		catch (javax.xml.rpc.ServiceException serviceException) {}
	}
  
	public String getEndpoint() {
		return _endpoint;
	}
  
	public void setEndpoint(String endpoint) {
		_endpoint = endpoint;
		if (banque != null)
			((javax.xml.rpc.Stub)banque)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
	}
  
	public controller.Banque getBanque() {
		if (banque == null)
			_initBanqueProxy();

		return banque;
	}
  
	public java.lang.String effectuerPaiement(java.lang.String idCompteRetrait, int valeur, java.lang.String idCompteAjout, java.lang.String motDePasseCompteRetrait) throws java.rmi.RemoteException{
		if (banque == null)
			_initBanqueProxy();

    	return banque.effectuerPaiement(idCompteRetrait, valeur, idCompteAjout, motDePasseCompteRetrait);
	}
  
	public java.lang.String creerNouveauCompte(java.lang.String nomClient, java.lang.String prenomClient, java.lang.String password) throws java.rmi.RemoteException{
		if (banque == null)
			_initBanqueProxy();

		return banque.creerNouveauCompte(nomClient, prenomClient, password);
	}
}
